package com.xt.base.model.base;


import java.io.Serializable;

import org.apache.commons.lang.StringUtils;

import com.xt.base.util.SpellUTF_8;

/**
 * 能够按拼音检索的域 <br>
 * <br>
 * 
 * <p>
 * <a href="SpelledField.java.html"><i>查看源文件</i></a>
 * </p>
 * 
 * @author 杨洪波
 * @version $Revision: $<br>
 *          $Id: $ 
 */
public class SpelledField implements Serializable{
	
	private static final long serialVersionUID = 8316940075627018418L;

	/** 名称 */
	private String field;
	
	/** 拼音 */
	private String spell;
	
	/** 拼音首字母缩写 */
	private String shortSpell;
	
	public SpelledField(){}
	
	public SpelledField(String name){
		this.field = name;
		this.shortSpell = SpellUTF_8.getFirstLetter(name);
		this.spell = SpellUTF_8.getFullSpell(name);
	}


	/**
	 * @hibernate.property column="Name" not-null="true" index="idxName"
	 * @return 名称
	 */
	public String getField() {
		return field;
	}

	public void setField(String name) {
		this.field = name;
	}

	/**
	 * @hibernate.property column="ShortSpell"
	 *                     index="idxShortSpell"
	 * @return 拼音首字母缩写
	 */
	public String getShortSpell() {
		if(StringUtils.isEmpty(this.shortSpell))
			this.shortSpell = SpellUTF_8.getFirstLetter(field);
		return shortSpell;
	}

	public void setShortSpell(String shortSpell) {
		this.shortSpell = shortSpell;
	}

	/**
	 * @hibernate.property column="Spell"
	 *                     length="255" index="idxShortSpell"
	 *                     index="idxSpell"
	 * @return 拼音
	 */
	public String getSpell() {
		if(StringUtils.isEmpty(this.spell))
			this.spell = SpellUTF_8.getFullSpell(field);
		return spell;
	}

	public void setSpell(String spell) {
		this.spell = spell;
	}

}
